package com.fudan.backend.service;

import com.fudan.backend.pojo.Store;
import com.fudan.backend.pojo.vo.StoreVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface StoreService {
    /**
     * 通过storeId获取Store信息
     *
     * @param storeId 商店id
     * @return 返回对应的Store, 如果不存在返回商店找不到的错误信息
     */
    Store getStoreByStoreId(String storeId);

    /**
     * 获取所有商店信息（包括已经关闭的商店）
     *
     * @param current  当前页码
     * @param pageSize 页面大小
     * @return 所有商店的页面信息
     */
    PageInfo<Store> getAllStore(int current, int pageSize);

    /**
     * 通过storeId获取StoreVo信息
     *
     * @param storeId 商店id
     * @return 返回对应的StoreVo, 如果不存在返回商店找不到的错误信息
     */
    StoreVo getStoreVoByStoreId(String storeId);

    /**
     * 获取所有商店展示信息vo（包括已经关闭的商店）
     *
     * @param current  当前页码
     * @param pageSize 页面大小
     * @return 所有商店的页面信息
     */
    PageInfo<StoreVo> getAllStoreVo(int current, int pageSize);

    /**
     * 通过userId获取所有Store信息
     *
     * @param userId 用户id
     * @return 返回对应的Store列表
     */
    List<Store> getAllStoreByUserId(String userId);

    /**
     * 判断该商店是否为对应用户拥有
     *
     * @return 若符合权限则返回对应store
     */
    Store checkStoreAuthorize(String storeId, String userId);
}
